package com.flyme.module.exam.provider.service;


import cn.hutool.core.date.DateTime;
import com.flyme.core.base.supper.entity.EntityMap;
import com.flyme.core.base.supper.service.IBaseService;
import com.flyme.module.exam.client.entity.ExamRecord;

import java.util.List;

/**
 * @author: flyme
 * @date: 2018/3/7 15:28
 * @desc: 答题记录接口
 */
public interface ExamRecordService extends IBaseService<ExamRecord> {

    /**
     * 根据用户查询最新的测试记录
     */
    ExamRecord findByUser(Long accountId);

    /**
     * 查询该用户该项目的最后一次答题记录
     */
    ExamRecord findMax(Long accountId, String abilityItemId);

    /**
     * 根据用户查询记录
     */
    ExamRecord findMax2(Long accountId);

    /**
     * 根据用户统计用户测评次数
     */
    Integer countByUser(Long accountId);

    /**
     * 查询用户最后一次测评记录
     */
    ExamRecord findLast(Long userId);

    /**
     * 查询该用本周测评次数
     */
    Integer countByWeek(Long userId, DateTime begin, DateTime end);

    /**
     * 统计本月测试天数
     */
    Integer countByMonth(Long userId);
    List<EntityMap> totalScore(String createTime, Long userId);

}
